1. Field of the Invention
The present invention relates to a download method and a download program product for storing software in an information processing apparatus having a storage unit, and to a recording medium for the download program.
2. Description of Related Art
In information processing apparatuses such as computers, a control program contained in software which is stored in a storage unit such as a semiconductor memory is executed by a processing unit such as a central processing unit (CPU).
In such information processing apparatuses, important software is stored in a non-volatile storage unit so as to retain its content even when the supply of power to the apparatus is interrupted. For such information processing apparatuses, minimization of size, weight, and price are all desired in order to allow the apparatuses to be installed into various devices.
To add new functionality or change the functions of the information processing apparatus, it is necessary to update the programs included in the software stored in the non-volatile storage unit. The software updating is performed by a downloading or download process, in which new software is imported from an external apparatus via communication networks or the like, and the existing software stored in the nonvolatile storage unit is overwritten with the new software. Such a download process for new software is accomplished by executing a download processing program, hereinafter referred to as a downloader.
It is necessary that the download process for rewriting software, which is a main function of an information processing apparatus, continue to operate stably and reliably, even when the download process is halted due to unusual circumstances, such as disconnection or interruption of the power supply. Further, it is also desired that operation of the download process be simple and high-speed.
Japanese Patent Laid-Open Publication (Kokai) No. Hei 8-44510 discloses a printing machine software executing apparatus and a method of changing printing machine software using the apparatus.
Referring to FIG. 7, an information processing apparatus according to Kokai No. Hei 8-44510 comprises a processing unit 10, a downloader storage unit 12, a software storage unit 14, and an external interface (external I/F) 16, which are interconnected via a data bus 20 so as to allow mutual data transfer. The downloader storage unit 12 and the software storage unit 14 store a downloader and software, respectively. Both the downloader storage unit 12 and the software storage unit 14 are non-volatile storage units, and the software storage unit 14 is rewritable.
On the other hand, in order to receive new software, the information processing apparatus is connected, via the external I/F 16, to an external apparatus 18 which provides new software to the information processing apparatus.
FIGS. 8A and 8B illustrate the content stored in the downloader storage unit 12 and the software storage unit 14 during a normal operation and a download process, respectively. When the apparatus is under normal control, the processing unit 10 executes ordinary operations under the control of a control program contained in software 24 stored in the software storage unit 14, as shown in FIG. 8A. During the download process, as shown in FIG. 8B, the processing unit 10 executes the download operation according to a pre-update downloader 22 stored in the downloader storage unit 12, and downloads new software 26 from the external apparatus 18 to the software storage unit 14 via the external interface 16. The software in the software storage unit 14 is thus updated.
According to the above configuration, even when the download process is terminated due to a failure such as a power interruption, the pre-update downloader 22, which is stored in the non-volatile downloader storage unit 12, is not erased. Therefore, it is possible to continue the download process when the processing unit 10 once again executes the pre-update downloader 22 stored in the downloader storage unit 12 after the system is recovered.
Japanese Patent Laid-Open Publication (Kokai) No. Hei 11-259305 discloses “a remote program download apparatus”.
FIG. 9 is a block diagram showing a configuration of a download apparatus of Kokai No. Hei 11-259305. FIGS. 10A to 10D illustrate the content stored in the downloader storage unit 12 and the software storage unit 14. Under normal control, as shown in FIG. 10A, the processing unit 10 executes a normal operation by a control program contained in software 24 stored in the software storage unit 14.
A download process is carried out in a manner described below. First, as shown in FIG. 10B, a pre-update downloader 22 which is stored in the downloader storage unit 12 is executed, so that new downloader 30 is downloaded via the external interface 16 and written over the software stored in a storage region of the software storage unit 14 which is not used for the download process. Then, as shown in FIG. 10C, the new downloader 30 is transferred to the downloader storage unit 12 by the remaining software in the software storage unit 14, and written over the pre-update downloader 22. Finally, the new software 26 is downloaded by the new downloader 30 via the external interface 16 and stored in the download storage unit 12, and the downloaded new software 26 is written in a region of the software storage unit 14 other than the region where the new downloader 30 is stored, overwriting any data previously stored in that region.
As in the example of Kokai No. Hei 8-44510, according to the above configuration of Kokai No. Hei 11-259305, the downloader stored in the downloader storage unit 12 or the software storage unit 14, which is a non-volatile storage unit, is not erased even when the download process is fails due to circumstances such as disconnection of the power source for the download apparatus, thereby enabling continuous downloading after recovery of the apparatus. In particular, even when the power supply to the apparatus is interrupted while the new downloader 30 is executed to download the new software 26, the download process can be continuously carried out by executing the new downloader 30 stored in the software storage unit 14.
In the invention disclosed in Kokai No. Hei 8-44510, however, because it is necessary to directly execute the downloader 22 stored in the downloader storage units 12 to update the software, it is not possible to update the pre-update downloader 22 itself.
In the invention disclosed in Kokai No. Hei 11-25930, on the other hand, the pre-update downloader 22 can be updated. However, because it is necessary to execute the new downloader 30 when downloading the new software 26 onto the software storage unit 14, it is always necessary to switch the control of the download process from the pre-update downloader 22 to the new downloader 30, which forces a user to restart the information processing apparatus. The time required for such a shift operation is not insignificant.
Further, in either invention disclosed in the above two references, it is necessary that both the downloader storage unit 12 for storing the pre-update downloader 22 and the software storage unit 14 for storing software be non-volatile storage units. Also, because the download process is performed by directly executing the downloader stored in the non-volatile downloader storage unit 12, it is not possible to store the downloader in a compressed form. As a consequence, the downloader storage unit 12 must have a large capacity, which hampers efforts to reduce the size and weight of the information processing apparatus. In addition, because production of large capacity non-volatile storage units is more difficult to and expensive than production of volatile storage units, the relative manufacturing cost of the apparatus is increased.